home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc Source Code / UI / DspUtilM.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-22  |  2.0 KB  |  91 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        DspUtilM.h
  3.  
  4.     Contains:    Dispatcher utilities.
  5.  
  6.     Owned by:    Richard Rodseth
  7.  
  8.     Copyright:    © 1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <4>     8/29/95    RR        #1267251 Utilites for synthsized activate
  13.                                     events
  14.          <3>     5/25/95    jpa        Fixed usage of ODDebug. [1253321]
  15.          <2>     5/10/95    RR        # 1239139 Added LogEvent, and
  16.                                     GetActiveFacetWithBorderUnderPoint
  17.  
  18.     To Do:
  19.     In Progress:
  20. */
  21.  
  22. #ifndef _DSPUTILM_
  23. #define _DSPUTILM_
  24.  
  25. #ifndef _ODTYPES_
  26. #include "ODTypes.h"
  27. #endif
  28.  
  29. const kODGeneratedActivate = 0x0002;
  30.  
  31. class ODFacet;
  32. class ODFrame;
  33. class ODWindow;
  34.  
  35. void WindowToLocal(Environment* ev, ODPoint& point, ODFacet* facet);
  36.  
  37. ODFacet* GetActiveFacetWithBorderUnderPoint(Environment* ev, ODFrame* frame, ODWindow* window, ODPoint& windowPoint);
  38.  
  39. inline long Min(long a, long b)
  40. {
  41.     return a < b ? a : b;
  42. }
  43.  
  44. inline void SetEvent(ODEventData& event, short what)
  45. {
  46.     event.what = what;
  47.     event.message = 0;
  48.     event.when = 0;
  49.     event.where.h = 0; event.where.v = 0;
  50.     event.modifiers = 0;
  51. }
  52.  
  53. inline void SetEvent(ODEventData& event, short what, Point globalWhere)
  54. {
  55.     event.what = what;
  56.     event.message = 0;
  57.     event.when = 0;
  58.     event.where.h = globalWhere.h; event.where.v = globalWhere.v;
  59.     event.modifiers = 0;
  60. }
  61.  
  62. inline void SetActivateEvent(ODEventData& event, WindowPtr window, ODBoolean activate)
  63. {    
  64.     event.what = activateEvt;
  65.     event.message = (long) window;
  66.     event.when = 0;
  67.     event.where.h = 0; event.where.v = 0;
  68.     if (activate)
  69.         event.modifiers = 1 | kODGeneratedActivate; 
  70.     else
  71.         event.modifiers = 0 | kODGeneratedActivate; 
  72. }
  73.  
  74. inline ODBoolean IsODActivateEvent(ODEventData& event)
  75. {    
  76.     return (event.modifiers & kODGeneratedActivate);
  77. }
  78.  
  79. inline void SetEventInfo(ODEventInfo& info, ODPoint where)
  80. {
  81.     info.embeddedFrame = kODNULL;
  82.     info.embeddedFacet = kODNULL;
  83.     info.where = where;
  84.     info.propagated = kODFalse;
  85. }
  86.  
  87. #if ODDebug
  88. void LogEvent(ODEventData* event, ODEventInfo* eventInfo, ODFrame* frame, ODFacet* facet);
  89. #endif
  90.  
  91. #endif // _DSPUTILM_